Git CI/CD

सतत एकीकरण और सतत वितरण - स्वचालित रूप से अपने कोड का परीक्षण करें और जारी करें

CI/CD क्या हैं?

सीआई/सीडी का मतलब सतत एकीकरण और सतत तैनाती/डिलीवरी है।

हर बार जब आप पुश करते हैं तो इसका मतलब है कि आपका कोड स्वचालित रूप से परीक्षण और प्रकाशित हो जाता है।

इससे हमें बग्स को तेजी से ढूंढने और कम मैन्युअल काम के साथ तेजी से सुविधाएं प्रदान करने में मदद मिलती है।

सीआई/सीडी का उपयोग क्यों करें?

सीआई/सीडी आपके कोड के परीक्षण और जारी करने की प्रक्रिया को स्वचालित करता है। इसका मतलब यह है:

CI/CD Git के साथ कैसे काम करता है?

अपने Git रिपॉजिटरी में कोड पुश करने का प्रत्येक तरीका:

उदाहरण वर्कफ़्लो

कार्यप्रवाह आरेख

[Developer] --push--> [Git Repository] --triggers--> [CI/CD Pipeline: Test, Build, Deploy]

महत्वपूर्ण सीआई/सीडी अवधारणाएँ

यहां कुछ महत्वपूर्ण शब्द दिए गए हैं:

नौकरियाँ

नौकरी चरणों का एक समूह है जो एक साथ चलती है। प्रत्येक कार्य एक निदेशक (एक सर्वर) पर चलता है।

उदाहरण: GitHub Actions में एक नौकरी

नौकरियाँ: निर्माण: रन-ऑन: उबंटू-नवीनतम कदम: # कदम यहाँ चलते हैं

कदम

प्रत्येक चरण एक एकल कार्य है, जैसे कोड का निरीक्षण करना या परीक्षण चलाना।

उदाहरण: चरण

steps:
  - uses: actions/checkout@v3
  - name: Run tests
    run: npm test

निदेशक (धावक)

निदेशक वह कंप्यूटर/सर्वर है जो आपका कार्य चलाता है।

आप अधिक नियंत्रण के लिए सेवा के निदेशकों का उपयोग कर सकते हैं या अपना स्वयं का सेटअप कर सकते हैं।

उदाहरण: निदेशक निर्दिष्ट करें

runs-on: ubuntu-latest

चलाता है

एक ट्रिगर तय करता है कि आपका वर्कफ़्लो कब चलेगा।

सामान्य ट्रिगर पुश (प्रत्येक पुश) और पुल_रेक्वेस्ट (जब पुल अनुरोध खोला या अपडेट किया जाता है) हैं।

उदाहरण: पुश या पुल अनुरोध पर ट्रिगर

on:
  push:
  pull_request:

पर्यावरण चर और रहस्य

पासवर्ड या एपीआई कुंजी के लिए सेटिंग्स और रहस्यों के लिए पर्यावरण चर का उपयोग करें।

अपने कोड में रहस्यों को हार्ड-कोड न करें!

उदाहरण: एक रहस्य का प्रयोग करें

env:
  NODE_ENV: production
  API_KEY: ${{ secrets.API_KEY }}

निर्माण अभिलेख

सीआई/सीडी उपकरण प्रत्येक कार्य और चरण के लिए लॉग दिखाते हैं। क्या हुआ या डीबग विफलताओं को देखने के लिए लॉग की जाँच करें।

GitHub क्रियाओं में, प्रत्येक कार्य/क्रिया के लॉग देखने के लिए वर्कफ़्लो क्रिया पर क्लिक करें।

सीआई से बचें

आप अपने कमिट संदेश में [स्किप सीआई] जोड़कर कमिट के लिए सीआई/सीडी को छोड़ सकते हैं।

यह दस्तावेज़ या छोटे बदलावों के लिए उपयोगी है।

उदाहरण: सीआई से बचें

git commit -m "Update docs [skip ci]"

बैज

CI/CD स्थिति दिखाने के लिए अपने README में एक बैज जोड़ें।

यह दूसरों को यह देखने की अनुमति देता है कि आपका नवीनतम निर्माण पास हो गया है या नहीं।

उदाहरण: GitHub क्रियाएँ बैज

![CI](https://github.com/username/repo/actions/workflows/ci.yml/badge.svg)

उदाहरण: GitHub क्रियाएँ वर्कफ़्लो फ़ाइल (समझाया गया)

.github/workflows/ci.yml

# .github/workflows/ci.yml # यह फ़ाइल GitHub Actions को बताती है कि आपके प्रोजेक्ट के लिए CI कैसे चलाया जाए नाम: CI # वर्कफ़्लो का नाम (GitHub पर प्रदर्शित) चालू: [पुश] # ट्रिगर: इस वर्कफ़्लो को हर पुश पर चलाएँ नौकरियाँ: बिल्ड: # कार्य का नाम (कुछ भी हो सकता है) रन-ऑन: उबंटू-नवीनतम # निदेशक: नवीनतम उबंटू सर्वर का उपयोग करें कदम: - उपयोग: Actions/checkout@v3 # चरण: रिपॉजिटरी से अपना कोड जांचें - नाम: परीक्षण चलाएँ # चरण: इस चरण को एक नाम दें चलाएँ: npm परीक्षण # चरण: अपने प्रोजेक्ट का परीक्षण चलाएँ

📖जस्सिफ टीम व्याख्या

name:GitHub में वर्कफ़्लो का प्रदर्शन नाम सेट करता है।

on:यह तय करता है कि वर्कफ़्लो कब चलेगा (यहां: हर पुश)।

jobs:एक निर्देशक पर चलने वाले चरणों को एक साथ जोड़ता है।

build:इस कार्य का नाम (कुछ भी हो सकता है)

runs-on:सर्वर का प्रकार चुनें (यहां: उबंटू लिनक्स)।

steps:प्रत्येक चरण एक कार्य करता है, जैसे कोड का निरीक्षण करना या परीक्षण चलाना।

uses:पूर्व-निर्मित GitHub एक्शन का उपयोग करना (यहां: अपने कोड का परीक्षण करना)।

name:(चरणों के नीचे) एक चरण के लिए एक लेबल देता है।

run:एक शेल कमांड चलाता है (यहां: परीक्षण चलाने के लिए एनपीएम टेस्ट)।

समस्या निवारण एवं सर्वोत्तम अभ्यास

यदि निर्माण विफल हो जाता है

त्रुटि संदेशों के लिए लॉग की जाँच करें

रहस्य और पर्यावरण चर

सुनिश्चित करें कि आपके रहस्य और पर्यावरण चर सही ढंग से सेट हैं

विफल नौकरियों को पुनः चलाएँ

विफल नौकरियों को सीआई/सीडी डैशबोर्ड से फिर से चलाया जा सकता है

दस्तावेज़ीकरण की जाँच करें

अधिक सहायता के लिए अपनी CI/CD सेवा के दस्तावेज़ जाँचें

🚀जसिफ टीम सर्वोत्तम अभ्यास

छोटा शुरू करो:पहले परीक्षणों को स्वचालित करें, तैयार होने पर आउटपुट जोड़ें

रहस्यों को बाहर रखें:कभी भी अपने कोड में रहस्य न डालें और कभी भी एपीआई कुंजी न लिखें

बैज का प्रयोग करें:README में अपनी निर्माण स्थिति दिखाने के लिए बैज का उपयोग करें

महत्वपूर्ण नोट

📝जस्सिफ टीम नोट

सीआई/सीडी बग का शीघ्र पता लगाने और डिलीवरी में तेजी लाने में मदद करता है। स्वचालन से छोटी परियोजनाओं को भी लाभ हो सकता है!

स्वचालित परीक्षण और रिलीज़ आपकी सॉफ़्टवेयर विकास प्रक्रिया में सुधार कर सकते हैं और तनाव को कम कर सकते हैं।

त्वरित संदर्भ

प्रोत्साहन

वर्कफ़्लो प्रारंभ करें

on: [push]

निदेशक

सर्वर का चयन करें

runs-on: ubuntu-latest

कोड जांचें

पहला कदम

uses: actions/checkout@v3

परीक्षण चलाएँ

बुनियादी परीक्षण

run: npm test